2.3 Backend Web Technologies - Overview

    
  1. How to build up web applications - 3-tier web application architecture
    • If you do not remember much this topic, you may go back to the previous topic '2.1 Overview'.
    • What are the 3 tiers?
      • Web client programs - ...
      • Web server, and server-side script programs - ...
      • Database - ...
    • What are the roles of the 3 tiers?
      • Web client-side programs - Provision of information, user interaction, user input
      • Web server-side programs - Access to database, dynamic generation of web content
      • Database - Information storage
  2. The first tier
    • If you do not remember much this, you may go back to the previous topic '2.2 Frontend web technologies'.
  3. The second tier
    • Which part in the above diagram?
    • PHP
      • Read 'What is PHP?' in PHP.
      • Read 'What can PHP do?' in PHP.
      • What is the main role of PHP in web applications?
      • Where is PHP code running?
      • PHP is one of the main topics in this course.
    • Server-side JavaScript, and node.js
    • Node.js, and Express
      • Read the sub title in Express.
      • This is another topic in the next level web course.
    • There are many other server-side script languages - Python, Ruby, ...
  4. The third tier
    • Relational DBMS, and MySQL
      • Example from 'https://insightsoftware.com/blog/whats-the-difference-relational-vs-non-relational-databases/'
      • Read the first three paragraphs in Relational database. Can you briefly explain what relational databases are?
      • Read all in What is MySQL?.
      • Read all in What is SQL?.
      • This is one of the main topics in this course.
    • Non-relational DBMS, NoSQL, and MongoDB
      • Read the first two paragraphs in NoSQL.
      • Read 'What is NoSQL and Why Should I Care?' in NoSQL Databases Explained.
      • Read the first paragraph in MongoDB.
      • This is one of the main topics in the next level web course.

  5. Learning outcomes
    • List the three tiers.
    • List the most popular server-side scripting language.
    • Explain briefly the role of the 2nd tier.
    • Explain briefly the role of the 3rd tier.
    • Distinguish RDBMS and NoSQL databases.